Intelligent routing for effective utilization of network signaling resources

ABSTRACT

In source routed or hop-by-hop routed protocol communication networks, when congestion is detected at a certain network element, a notification message is sent to nodes. The nodes keep track of congestion condition and generally have knowledge of the congestion, thereby allowing them to make more intelligent routing decisions, i.e., rate controlling messages, routing traffic around congestion, regulating admission at the edge of the network. The intelligent routing decision is based on the congestion condition indicated by a restriction level which is periodically and dynamically updated.

FIELD OF INVENTION

[0001] The invention relates generally to source routed or hop-by-hoprouted protocol communication networks. More particularly, it relates toa technique of by which network elements are able to make intelligentdecisions for routing call set-ups, thus improving the efficiency ofsuch communication networks.

BACKGROUND OF INVENTION

[0002] Communication between a calling party (source) and a called party(destination) may be established over a communications network. Such acommunications network may use source routed protocols in order toestablish connections over which such communication can occur.Communication networks that support source routing protocols typicallyinclude a number of individual switches through which calls are routed.A call set-up message is sent along a path between the source and thedestination through a number of intervening switches in order toestablish the call. The path for the call set-up message to travel maybe selected by the source in some networks or may be selected hop-by-hopby intervening switches in others.

[0003] Signaling protocols can encounter congestion in the control planeused to carry such set-up messages. The signaling plane congestion canbe the result of a number of different factors, including anoverabundance of signaling traffic such as call set-up messages and/orcontrol plane datagram messages, device speed mismatches with thecommunication network, or over-utilization of particular nodes orswitches within the network.

[0004] In some prior art systems, a node in the network under congestionmay send a signaling congestion notification to the source node inresponse to a set-up message it received. In other prior art systems, itmay simply drop the set-up message. Furthermore, even if the source nodeor any other nodes receive the notification, this action will notinfluence the routing of subsequent calls and so new calls will continueto be routed through the congestion point, only to block and be crankedback. As a result, sub-optimal use of network control plane resourcesoccurs during periods of signaling congestion. This leads to callfailures due to resource deficiencies and signaling protocol time-outs.In addition, it leads to large increase in call setup latency.Therefore, increased signaling congestion may result in severelydegraded signaling performance.

[0005] In U.S. patent application Ser. No. 09/549,328, entitled “MethodAnd Apparatus For Congestion Avoidance In Source Routed SignalingProtocol Communication Networks”, filed on Apr. 13, 2000 in the name ofthe present applicant, congestion avoidance techniques to prevent such adegradation of signaling performance are described. According to thetechniques described therein, when control plane congestion is detected,a congestion notification message containing particulars of a congestionis generated and sent back to the source node or other nodes. A networkelement receives the congestion notification message and uses theparticulars of a congestion for various network functions, includingrouting new set-up messages. Therefore, by understanding congestioninformation as it relates to the network topology, when generating aconnection set-up message, a node can route the message in anintelligent manner that avoids congested portions of the network.

[0006] The present invention provides mechanisms that allow the networkelements such as nodes to have knowledge of the state of signaling planecongestion, thereby allowing them to make more intelligent routingdecisions, i.e., rate controlling call set up messages, routing controltraffic around signaling congestion, regulating admission at the edge ofthe network.

[0007] The present invention is also applicable to routing andforwarding of connectionless traffic. The mechanisms of the presentinvention, therefore, also allow the network elements to have knowledgeof the state of congestion in such plane, thereby allowing them to makemore intelligent routing decisions.

[0008] The present invention works particularly well in conjunction withthe techniques described in the above-referenced application. It shouldhowever noted that the present invention should also perform well inother environment, such as in the field of routing and forwarding anytraffic, in which network elements are designed to react to congestionnotification.

SUMMARY OF INVENTION

[0009] In accordance with one aspect, the invention utilizes congestionnotification for routing control traffic around or regulating it throughthe network element at which congestion has been detected.

[0010] In accordance with a further aspect, the invention utilizescongestion notification for routing traffic around or regulating itthrough the network element at which the signaling plane congestion hasbeen detected.

[0011] In accordance with another aspect, the invention relates tointelligent routing based on signaling capacity estimation for effectiveutilization of network signaling resources.

[0012] In accordance with a further aspect, the invention relates tointelligent routing based on routing capacity estimation for effectiveutilization of network routing resources.

[0013] In accordance with a further aspect, the invention providesmechanisms that allow the network elements such as nodes to estimate theintensity of signaling plane congestion, and based on the estimate tomake more intelligent routing decisions.

[0014] In accordance with another aspect, the invention also allows thenetwork elements to have knowledge of the state of congestion in a planeof routing and forwarding traffic, thereby allowing them to make moreintelligent routing decisions.

[0015] In accordance with yet another aspect, the invention improvesperformance of signaling resources in a telecommunications network. Theimprovement is realized by a method which includes steps of receiving acall set-up message at a network element and invoking a path selectionprocess on the call set-up message to determine existence of at leastone network element on a selected path, for which a restriction levelexists. The method further includes steps of making a routing decisionon the call set-up message based on the restriction level, executing therouting decision at the network element at which the call set-up messageis received and periodically adjusting the restriction level for saideach network element, wherein the step of executing the routing decisioninvolves either rejecting or accepting the call set-up message.

[0016] In accordance with a further aspect, the invention is a method ofcontrolling congestion condition at a network element of atelecommunications network. The method includes steps of monitoring callset-up messages that have been accepted or rejected by the networkelement under congestion and setting a restriction level indicative ofthe congestion condition based on the rates of accepted and rejectedcall set-up messages. The method further includes a step of making arouting decision on a new call set-up message that is on a path throughthe network element under congestion, using the restriction level,whereby the congestion condition will not worsen.

[0017] In accordance with yet another aspect, the invention is directedto a node in a source routed signaling protocol communications network.The node comprises a path selection block for performing a pathselection process on a call set-up message received at the node and acongestion control block being allocated for a network element undercongestion and comprising a congestion admission control module and acongestion feedback monitor module. The congestion admission controlmodule maintains a restriction level for the network element undercongestion and determines if the call set-up message is acceptable basedon the restriction level. The congestion feedback monitor module updatesthe restriction level based on an indication of received congestionnotifications. The node further includes a release message processingblock for receiving the congestion notifications sent from the networkelement under congestion and informing the congestion feedback monitormodule of their reception.

BRIEF DESCRIPTION OF DRAWINGS

[0018]FIG. 1 is a block diagram of a data communications network inaccordance with an embodiment of the invention.

[0019]FIG. 2 illustrates schematically a general aspect of the inventionwhich makes use of control blocks called “signaling congestion controlblock” according to an embodiment of the invention.

[0020]FIG. 3 shows schematically one of signaling congestion controlblocks, and shows its interactions with a call-processing layermechanism and a release message processing mechanism.

[0021]FIG. 4 is a flowchart illustrating a node processing a new callset-up message.

[0022]FIG. 5 shows a pseudo-code of a process of adjusting therestriction level, according to an embodiment of the invention.

[0023]FIG. 6 is a flowchart to adjust the restriction level of a calladmission rate according to an embodiment of the invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF INVENTION

[0024] In a communication network that utilizes a source routingsignaling protocol, when signaling plane congestion is detected at anetwork element, a congestion notification message is generatedcorresponding to the detected signaling plane congestion. Networkelements use the signaling plane congestion message to communicate witheach other concerning particulars of existing signaling congestion. Thenetwork elements then use the congestion particulars to perform theirvarious network functions, including routing and/or regulating newset-up messages. While signaling plane congestion is described in detailbelow, it should be noted that the invention finds equally applicationsin the field of routing and forwarding other traffic. Therefore, in thegeneral aspect, the invention provides ways of designing behaviours ofnetwork elements which performs routing and forwarding decision inresponse to state of network elements and also provides network elementsdesigned in such a way.

[0025] The invention can be better understood with reference to FIGS.1-6. FIG. 1 illustrates a communications network 10 which may be packet-or cell-based communications network. The communications network 10 maybe an ATM network with Private Network-Network Interface (PNNI)signaling and routing protocol, in which case the network is a sourcerouted protocol network. Networks of other kinds, e.g., MPLS, arepossible applications of the present invention. Such other networks mayuse hop-by-hop routing, in which a set-up message is routed hop by hop,in other word, the path selection is performed by each network elementas the set-up message travels towards the destination. The network 10allows the originating parties 20 to communicate with the destinationparties 22 by establishing a connection through the various networkelements 24, 26, 28, 30, 32, 34 and 36 (in this example nodes A-G)included in the network 10. Each of the originating and destinationparties 20 and 22 may be router, a network coupled to a router, and/oran end user device such as a personal computer, facsimile machine, videotelephone, or any device that receives and or transmits data via acommunication network. Network elements or nodes 24-36 in the Figure maybe telecom switches, routers, etc., that are able to make routeselection. When an originating party 20 requests that a connection beestablished with a destination party 22, the originating node A 24attempts to establish a connection with the destination node D 30 suchthat packets or cells may traverse the network along the connection andbe delivered to the destination party 22.

[0026] Source routing protocols allow each node within the network todetermine a complete path to a particular destination based on thatnode's knowledge of the network topology. Typically, each of the variousswitches, or nodes, within the network stores a routing table or otherdatabase that includes parameters concerning the various links (i.e.,topology) of the network that may be used in routing calls. When a pathto a particular destination is to be determined, the table is consultedto determine a path to the destination. The selection of the path mayinclude determining the most efficient path, where various criteria suchas cost, bandwidth availability, and the like are taken into account.

[0027] For example, if the originating node A 24 wishes to establish aconnection with the destination node D 30, a likely path may route theconnection through the node B 26 and the node C 28. In such an example,the originating node A 24 issues a connection set-up message thattraverses the network along the determined path and establishes theconnection. The connection set-up message may traverse the network alongthe signaling plane within the network, where the signaling plane isseparate from the data plane that carries data packets for variousconnections within the network.

[0028] Referring further to FIG. 1, if signaling plane congestion exitsproximal to the node C 28, a set-up message is significantly delayed,causing the connection attempt to time-out or be rejected by node C 28.Such congestion proximal to the node C 28 may be internal to the node C28 or may be along the link between the node C 28 and the node D 30. Atime-out condition or detection of congestion causes a release messageor an indication that control traffic to the congested node should bereduced to be sent to the originating node A 24 indicating that theconnection set-up request failed.

[0029] The above referenced U.S. patent application describes a meansfor communicating the congested condition existing proximal to the nodeC 28 to other node within the network 10, including the originating nodeA 24. The originating node A 24 receives notification of the congestedcondition at the node C 28, and then can route future connection set-upmessages (both for the connection that has already been attempted andfor future connections that must be established) along alternate pathssuch that unacceptable delays in connection setup do not result. Thecongestion notification may be generated as a result of a receivedconnection set-up request, or may be broadcast when the congestedcondition is first detected proximal to the node C 28.

[0030] Communication of congestion notification is performed via asignaling network in some networks. Other networks utilize a signalingor routing plane or a combination of both, using a routing and signalingprotocol, e.g., an ATM network uses Private Network-Network Interface(PNNI) signaling and routing protocol. In PNNI networks, a routing planecongestion message may take advantage of a resource availabilityinformation group (RAIG for short) which includes information used toattach values of topology state parameters to nodes, links, andreachable addresses.

[0031] The congestion notification provided via the signaling plane mayalso be provided to each network element along the path traversed by theconnection setup message (from the source node to the congested node),such that each of the network elements along the connection set-up pathis also notified of the congested element. These additional nodes maythen utilize such knowledge to perform their own network functiondecisions.

[0032] When the network uses a signaling protocol that is supported bysource routing, the signaling plane congestion notification may beincluded in a release message that includes a crankback informationelement. A crankback information element may be produced when aconnection set-up message is held up due to congestion, where thecrankback information element would include a special cause codeindicating the congestion. The release message with crankbackinformation element is relayed back to the source node that issued theconnection set-up message such that the source node will attempt to findan alternate path to the destination. Such crankback messages (i.e.,release messages with a crankback information element) may be used in anATM network that utilizes a Private Network-Network Interface (PNNI)routing and signaling protocol.

[0033] Prior art systems utilizing the PNNI signaling protocol arelimited to using crankback for reachability issues, resource errors, anddesignated transit list processing errors. Signaling congestion is notcovered in these categories supported and therefore was not supported inprior art PNNI systems. The modified PNNI crankback message allows thesource node compute an alternate path for a failed call that avoids thecongested element within the network. According to one embodiment, suchinformation about signaling congestion can then also be used toinfluence the routing of subsequent calls routed by this node such thatcalls routed through areas experiencing signaling congesting are avoidedor regulated when calls are first routed, rather than just uponcrankback.

[0034]FIG. 2 illustrates schematically a general aspect of the inventionwhich makes use of control blocks called “signaling congestion controlblock” (SCCB for short) for monitoring congestion notification and forcontrolling signaling traffic routed through the network element atwhich the signaling plane congestion has been detected. Referring toFIGS. 1 and 2, any source nodes, that determine the path and routecalls, allocate a SCCB for each network element known to be experiencingsignaling congestion. For example, node A 24 has allocated three SCCBs50, 52, 54, each for node C, node E, and node G. The allocation of anSCCB for a network element occurs, if there is no existing SCCB for thenetwork element and when the source node receives a signaling congestionnotification from the network element. Node A 24 also receives new callrequest 56 and congestion notification 58 in the form of e.g., releasemessages etc.

[0035] A SCCB contains state information used to rate control new callsthrough the congested network element. The admission rate of a SCCB isdynamically adjusted based on the rate at which signaling congestionnotifications are received from the associated congestion point.

[0036]FIG. 3 shows a call processing layer which encompasses a SCCB andcertain functions of a call-processing layer mechanism. The Figuretherefore shows one of a plurality of SCCBs 72 and the majorinteractions of a SCCB with the rest of the call-processing layer, suchas path selection processing 74 and release message processing 76. Asshown in FIG. 3 architecturally a SCCB 72 consists of two components.For sake of easy reference the two components are referred here assignaling congestion admission control (SCAC for short) 78 and signalingcongestion feedback monitor (SCFM for short) 80.

[0037] Signaling Congestion Admission Control (SCAC): This component 78regulates the admission rate (e.g., the number of set-up messagesadmitted per unit time) at which set-up messages are routed towards theassociated signaling congestion point. The component maintains arestriction level. This restriction level is used to evaluate if it isacceptable to include the associated congestion point in the path of acall routed at that time. Therefore, if a new call will result inexceeding the restriction level maintained in SCAC, SCCB refuses such aninclusion. Path selection processing mechanism 74 makes such a query 82to the concerned SCCB for each call request to be routed towards anidentified congestion point. If there are multiple congestion points ina path selected for routing a new call, then all the appropriate SCCBsare queried. If SCCB 70 refuses the inclusion of a congestion point,then the call is routed around it, provided such an alternative isavailable. SCAC component also keeps track of the number of calls routedtowards its associated congestion point over a certain period of time.In order to help the component in keeping such a track, the pathselection mechanism 74 notifies SCAC component at 84, each time itroutes a new call through its congestion point.

[0038] Signaling Congestion Feedback Monitor (SCFM): This component 76keeps track of number of signaling congestion notification received fromits associated congestion point over a certain period of time. Tofacilitate the feedback monitoring process, the release messageprocessing mechanism 76 notifies SCFM component at 86, each time itreceives a signaling congestion notification from the associatedcongestion point. Based on this information, SCFM component dynamicallycalculates a new value of the restriction level and updates SCACcomponent with this new value at 88. This will result in eithertightening or loosening call admission rate by SCFM component. Thisleads to the convergence of call admission rate to a steady-state valuethat can be sustained by the congestion point.

[0039] To smooth the distribution of call admission rate towards acongestion point, SCAC component rate-controls the call admission ineach Ta milliseconds, as shown by 90. Moreover, to provide fastconvergence of call admission rate to the capacity of a signalingcongestion point, SCFM updates the restriction level in every Tfmillisecond (Tf=n*Ta, where n is a positive integer), as shown by 92.

[0040]FIG. 4 is a flowchart of processing a new call set-up messagereceived at a node (network element). Upon receiving a new call set-upmessage, the node (now the source node) invokes a path selectionmechanism at 120 to determine that the selected path to a destinationincludes a node, for which a SCCB is allocated at 122. If there is noallocated SCCB, no congestion exists and the call is accepted for theselected path at 124. At 126, the SCCB is queried if the call set-upmessage is acceptable by the node for which the SCCB is allocated. Ifthe call set-up message is acceptable based on the maintainedrestriction level, the call is accepted for the selected path at 128. Ifunacceptable at 126, the call is refused by the source node. Optionally,the source node may have capability of suggesting an alternate path tothe destination which avoids the congested node. In this case, at 130,an alternate path is determined and the process is repeated for thealternate path at 132, otherwise the call is refused by the source nodeat 134.

[0041]FIGS. 5 and 6 shows respectively a pseudo-code and a flowchart toadjust (or update) the restriction level (restriction_level) of a calladmission rate. Some of the parameters used in the figures are listedand explained below:

[0042] TRR (Target Rejection Rate): The calls admitted towards acongestion point are restricted in such a way that the signalingcongestion notifications received from a congestion point are withinuser specified Target Rejection Rate. In other words, ObservedRejectRateshould not be larger than or equal to TRR.

[0043] MinRestriction: The calls admitted towards a congestion pointwill not be restricted below the MinRestriction threshold specified byuser.

[0044] UpCount: A counter that keeps track of number of successiveincrease of the restriction level (loosening the restriction level). Thecounter resets to zero every time it is decided to decrease therestriction level (tightening the restriction level).

[0045] LinearUpCountInterval: The algorithm first increases the calladmission rate in a linear fashion. If convergence is not achieved aftera number of linear increases equal to LinearUpCountInterval, the calladmission rate is then increased more aggressively until the capacity othe congestion point is reached.

[0046] ObservedRejectRate: Rate at which signaling congestionnotifications are received from the associated congestion point.

[0047] AdmittedRate: Rate at which calls (set-up messages) are routedthrough the associated congestion point.

[0048] Referring to FIG. 6, updating the restriction level start at step200 where state variable ObservedRejectRate and AdmittedRate areobtained respectively from SCFM and SCAC at every Tf timer tick. Notethat Tf=n*Ta. At step 202, if ObservedRejectRate is greater than orequal to TRR, then restriction level is tightened to decrease the calladmission rate, else the restriction level is loosened to increase thecall admission rate. While tightening the restriction level, at step204, it is determined if AdmittedRate+TRR−ObservedRejectRate is aboveMinRestriction. If yes, the restriction level is set toAdmittedRate+TRR−ObservedRejectRate at step 206 and if no, it is set toMinRestriction at step 208. At step 210, a counter—UpCount—is reset tozero. While loosening the restriction level, at step 212, it isdetermined if UpCount is less than LinearUpCountInterval. If yes at step212, it is decided that the restriction level is to be loosened byincrementing by one at step 214. If no at step 212, it is decided thatthe restriction level is to be loosened more aggressively byincrementing by 2^(UpCount-LinearUpCountInterval) at step 216. Thereforeat step 218, the restriction level is set by incrementing by eithervalue. This results in loosening the restriction level by differentamounts. In the former case, just one additional call in the next Tfperiod will be allowed, while in the later case,2^(UpCount-LinearUpCountInterval) more call will be allowed in the sametime period. UpCount is incremented by one at step 220. The updatedrestriction level is notified to SCAC at step 222.

[0049] A SCCB is retired if signaling congestion notifications are notreceived from the associated congestion point for sufficiently a longperiod of time.

[0050] As described thus far, the invention allows the network elementssuch as nodes to have knowledge of control plane congestion, therebyallowing them to make more intelligent routing decisions. Thisintelligence provides the following benefits:

[0051] Under congestion, the rate of successful call setup attemptsalong the optimal path is maximized.

[0052] The wasted signaling resources in nodes upstream of thecongestion point are minimized. Thus, the efficiency of the signalingresources is increased.

[0053] Increases concurrency in call setup by routing around signalingcongestion. This increases the probability of a successful call setupattempt and decreases the call latency.

[0054] The network is protected against signaling overload by regulatingadmission at the edge of the network.

What we claim as our invention is:
 1. A method of improving performanceof signaling resources in a telecommunications network comprising stepsof: receiving a call set-up message at a network element; invoking apath selection process on the call set-up message to determine existenceof at least one network element on a selected path, for which arestriction level exists; making a routing decision on the call set-upmessage based on the restriction level; executing the routing decisionat the network element at which the call set-up message is received; andperiodically and dynamically adjusting the restriction level for saideach network element, wherein the step of executing the routing decisioninvolves either rejecting or accepting the call set-up message.
 2. Themethod according to claim 1, wherein the step of adjusting therestriction level for a network element comprises further steps of:monitoring a rate of accepted call set-up messages routed to the networkelement; monitoring a rate of signaling congestion notificationsreceived from the network element; and adjusting the restriction leveldynamically, based on the monitored rates.
 3. The method according toclaim 2, wherein the step of adjusting the restriction level comprisesfurther steps of: tightening the restriction level if the rate ofreceived signaling congestion notifications is larger than or equal to apreset acceptable rate of received signaling congestion notification;and loosening the restriction level if the rate of received signalingcongestion notifications is smaller than the preset acceptable rate ofreceived signaling congestion notification.
 4. The method according toclaim 3, wherein the step of tightening the restriction level comprisesa step of: setting a new restriction level which is either apredetermined minimum threshold or an amount determined by the balanceof the monitored rates.
 5. The method according to claim 3, wherein thestep of loosening the restriction level comprises a step of: setting anew restriction level which corresponds either to one additionalacceptable call set-up message or to more than one additional acceptablecall set-up message.
 6. The method according to claim 1, furthercomprising a step of: allocating a restriction level for each networkelement when a signaling congestion notification is received from saideach network and it is determined that no restriction level for saideach network.
 7. The method according to claim 6, wherein the signalingcongestion notification is received in response to the call set-upmessage or by broadcasting.
 8. The method according to claim 1, whereinthe step of invoking a path selection process comprises a step of:performing a source routed path selection process on the call set-upmessage.
 9. The method according to claim 1, wherein the step ofinvoking a path selection process comprises a step of: performing ahop-by-hop path selection process on the call set-up message.
 10. Themethod according to claim 1, further comprising a step of: selecting analternative path for routing the call set-up message if said message isrefused by the routing decision.
 11. A method of controlling congestioncondition at a network element of a telecommunications network,comprising steps of: monitoring call set-up messages that have beenaccepted or rejected by the network element under congestion; setting arestriction level indicative of the congestion condition based on therates of accepted and rejected call set-up messages; and making arouting decision on a new call set-up message that is on a path throughthe network element under congestion, using the restriction level,whereby the congestion condition will not worsen.
 12. The methodaccording to claim 11, comprising further steps of: updating therestriction level periodically and dynamically based on call set-upmessages that have been either accepted or rejected during a certainperiod.
 13. The method according to claim 11, wherein the step of makinga routing decision comprises a further step of: deciding to perform onthe new call set-up message one of followings, rejecting and accepting.14. The method according to claim 13, comprising a further step of:deciding to accept the new call set-up message for an alternate pathavoiding the network element under congestion.
 15. The method accordingto claim 12, comprising further steps of: periodically controlling therate of call set-up messages that are being accepted by the networkelement during a first interval; and setting a new restriction levelperiodically and dynamically during a second interval, based on thecongestion condition.
 16. A node in a communications network comprising:a path selection block for performing a path selection process on a callset-up message received at the node; a congestion control block beingallocated for a network element under congestion and comprising acongestion admission control module and a congestion feedback monitormodule; the congestion admission control module maintaining arestriction level for the network element under congestion and fordetermining if the call set-up message is acceptable based on therestriction level; the congestion feedback monitor module for updatingthe restriction level based on an indication of received congestionnotifications; and a release message processing block for receiving thecongestion notifications and informing the congestion feedback monitormodule of their reception.
 17. The node in a communications networkaccording to claim 16, further comprising: a timing mechanism for timingthe congestion admission control module and the congestion feedbackmonitor module so that the restriction level is updated periodically anddynamically at a predetermined interval.
 18. The node in acommunications network according to claim 16, wherein the path selectionblock further comprises means for determining an alternate path, whenthe call set-up message is determined not acceptable.
 19. The node in acommunications network according to claim 16 wherein the communicationsnetwork is a source routed signaling protocol communications network.20. The node in a communications network according to claim 19 whereinthe source routed signaling protocol communications network is an ATMnetwork and the congestion notification is included in an ATM releasemessage.
 21. The node in a communications network according to claim 16,wherein the congestion notifications are sent from the network elementunder congestion.
 22. The node in a communications network according toclaim 16, wherein the congestion notifications are broadcast from one ormore network elements under congestion.
 23. The node in a communicationsnetwork according to claim 16 wherein the communications network is ahop-by-hop routed signaling protocol communications network.